home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / game / think / UChess233.readme < prev    next >
Text File  |  1993-12-29  |  15KB  |  384 lines

  1. Short: UChess233.lha is an AGA/ECS Chess Pgm KS 2.04, 5M+ RAM, 68020+ needed.
  2.  
  3. Recent: v2.33 is latest release
  4.  
  5. Change History:
  6. v2.33
  7. Same as v 2.32 but fixes some problems that prevented 2.32
  8. from running on machines without AmigaDOS 3.0 or later.
  9. This version runs on AmigaDOS 2.04 or later.
  10.  
  11. v2.32 (recompiled using SAS/C 6.50)
  12. New Display Option for AGA machines, at startup you can
  13. specify FASTAGA (or 64) at the CLI or you can use the FASTAGA=1
  14. or COLORS=64 arguments in the Workbench ICON, this opens UCHess on
  15. a 640X480 or 640X512 64 Color Screen, for additional speed.
  16. Especially helps display speed in the MultiScan Productivity mode.
  17. It looks almost as good the 256 color screen and is much faster.
  18.  
  19. Rewrote some routines in 68020+ Assembly language, and
  20. re-aligned many data items for more nodes/sec eval speed.
  21. Redid the entire opening book code, uchess will now
  22. look for uchess:uchesswhite.book when playing as
  23. white and uchess:uchessblack.book when playing as
  24. black, if it cannot find these it reverts to uchess:uchess.book.
  25. Sample white/black/neutral books enclosed, but much
  26. improvement/tuning of these books is needed.
  27. In general the white/black should work best for now.
  28. In the future I hope to come up with really optimal
  29. white/black openings and include these, at least for
  30. now the pgm will avoid openings that are real detrimental
  31. to it by splitting the book into 2 parts.
  32. Also made the edit request autoactivate the edit string gadget,
  33. for more convenient edit game entry.
  34. Also added a resign feature, if you have started the game
  35. in a regular manner at advanced level, and you get over
  36. 9.5 pts ahead of UChess, it will offer to resign (once).
  37. If you load a saved game, or edit the board, it will
  38. not offer to resign.  It will only offer to resign the game
  39. one time.
  40.  
  41. v2.31
  42. Re-Arranged the new game feature so it now pays
  43. attention to the skill level when setting up a new board.
  44. All new games came up as Advanced before, regardless
  45. of skill level chosen
  46.  
  47. v2.30
  48. Added a Level feature for play vs the computer.
  49. 3 levels are available, Advanced (same as before)
  50. Intermediate (Knight Odds), and Easy (Knight + Queen Odds)
  51.  
  52. Choosing these options will force a new game, with you
  53. are white and UChess as black, UChess will have its
  54. Knights removed on Intermediate, and its Knights+Queen
  55. removed on Easy.  Advanced is an equal game, like
  56. past versions
  57.  
  58.  
  59. v2.28
  60. fixed a bug in the initialization and re-initialization
  61. of the cache and transposition tables.
  62. Makes for more consistent play and a better start for
  63. the computer when using the new game option.
  64.  
  65. v2.27
  66. Just recompiled using __USE_SYSBASE for a bit more perfomance
  67. of system exec routines.
  68.  
  69. v2.26
  70. Fixed many bugs in the transposition table routines, which
  71. would cause crashes during overnight analysis with 2.25, also
  72. affected play somewhat, this version can handle overnight
  73. analysis, long games with no problems.  2.25 and some
  74. earlier versions could corrupt memory if they computed
  75. too long (for hours). 
  76. Redid the compute rating equation, for a bit more realistic
  77. rating.  With the major speed improvements of 2.25, the old
  78. rating equation was a bit off, giving an inflated rating of the
  79. pgm.  This new equation is somewhat better.
  80.  
  81. v2.25
  82. Major speed enhancements, this version should play FAR stronger
  83. thanks to rearrangement of Cache Tables.
  84. Major endgame changes as in gnuchess 4 pl 61, for lone
  85. king endings.
  86.  
  87. v2.18
  88. Attempted to reduce the number of "wild" moves that
  89. the program makes.  Under rare circumstances, the
  90. pgm would make wild moves based on poorly considering
  91. the users response move.  This should not happen much
  92. any longer.  May take more time to come up with a move
  93. in these cases though.  Should prevent it from throwing
  94. games away.
  95.  
  96. v2.17
  97. Fixed a minor bug in thinkahead move choice.
  98.  
  99. v2.16
  100. Finally found a longstanding bug screwing up move selection with
  101. thinking on.  Thinking on now helps a lot, it also does not
  102. screw up judicious use of the clock by the program.
  103.  
  104. v2.15
  105. Further refined conditions when thinkahead move is taken, or additional
  106. thinking beyond the current ply is warranted.  Refined for more likely
  107. choice of the thinkahead move in very short (<10secs/move) games
  108.  
  109. v2.14
  110. Fiddled with timing when thinkahead move is guessed correctly,
  111. it was taking its thinkahead move immediately if it was as deep,
  112. or deeper, than the previous move it pondered, it now only takes the
  113. move immediately if it is as deep or deeper and at least 4 plys in
  114. depth.
  115.  
  116. v2.12
  117. Added a rating feature, based on fact that the gnuchess 4pl60
  118. core plays at about 2300 on an IBM/RS6000, and that each
  119. doubling of processor speed results in a 75 pt ratings improvement,
  120. the pgm will estimate its USCF strength on your machine.
  121. On an A4000 the L version is about 2200 USCF or so.
  122.  
  123. v2.11
  124. Fixed a bug in dialog window for depth control.
  125.  
  126. v2.10
  127. Redid time control so that on long matches, it will not
  128. try and search too far ahead, if it guessed right.
  129. It was trying for real deep searches when it would
  130. result in massive overtime for the last level, on some
  131. occasions, hurting play later by forcing the pgm to
  132. rush too much.
  133. Also load/save game now updates clock display when it loads,
  134. and sets move now accordingly.
  135.  
  136. v2.09
  137. Fixed bug when depth mode was on, thinking was on, and show
  138. thinking was on, it was disabling show thinking in those cases.
  139. Cleaned up timing a bit.
  140. IT IS NOT CLEAR TO ME THAT THINKING ON HELPS.
  141. I am testing this, it may be that with thinking mode off, it
  142. plays more consistent chess, I am not sure though.
  143.  
  144. v2.07
  145. Added Depth Control, and Book Control Options
  146. To use Depth Control, just set it to # of plys you
  147. want the pgm to look ahead, it will then finish its move
  148. when it finishes that ply, regardless of time.
  149. Book Control just allows you to enable/disable opening book
  150.  
  151. v2.06
  152. Fixes a problem with mem alloc which showed up under Mungwall, it is
  153. now 100% enforcer and Mungwall clean.  Guards against loading improper
  154. game files.  Other Minor fixes.
  155.  
  156. V2.05
  157. Redoes the time control routine for thinking mode on.
  158. In earlier 2.0x versions, the forced timeout mode when
  159. thinking is on could result in poor move selection
  160. in some circumstances, this fix should allow fewer mistakes
  161. in move selection with thinking on, when computer is forced
  162. to stop searching a ply earlier than it would like.
  163.  
  164. V2.04
  165. Fixes a display bug that occurs occasionally when castling with a mouse,
  166. asks for a pal screen specifically on 15Khz 256 color systems.
  167.  
  168. V2.03
  169. Fixes a bug in Load game which caused a crash on some machines when
  170. pgm is run at pri >0.
  171. Move now command is now more immediate.
  172.  
  173. V2.02
  174. Bugs in v2.01 and 2.00 disallowed Move Now, and Underpromotion
  175. of pawns. This is now fixed.  Move now is enabled for
  176. Move times avg 1min or more.
  177.  
  178. V2.01
  179. Added an additional CLI arg and tooltype, from CLI
  180. type "UChess 15Khz" if you have an AGA machine and want 
  181. to force a 640X480X256 color 15Khz screen, may not be enough
  182. overscan for whole screen to be visible on monitor.
  183. From WB you can use the MONITOR=15KHZ tooltype to force this.
  184. Pgm will auto default to 15Khz 256 color screen if you have
  185. and AGA machine with no multiscan monitor in devs:monitors,
  186. to force 16 colors use 16 color arg.  The 16 color screen
  187. will fit easily on a 640X400 display, the 256 color
  188. screen will not fit on a 640X400 display.  People with
  189. PAL machines should have no problems fitting it all on
  190. a 640X512 15Khz screen.
  191.  
  192. This version fixes MAJOR time control bugs present in v2.0
  193.  
  194.  
  195. V2.0
  196. I widened the search for this version and it has defeated
  197. version 1.01 head to head 10 out of 10 times.
  198. I belive this version plays MUCH stronger chess than
  199. version 1.01!
  200.  
  201. -Roger
  202.  
  203.  
  204. V1.01
  205. This is version 1.01, it cleans up the 16 color graphics and
  206. makes them look much better than in version 1.0
  207. That is the onluy change.
  208. See Uchess.doc for details
  209.  
  210.  
  211. -Roger
  212.  
  213. UChess versions which end in L are optimized for the 68040 processor,
  214. require 10M or MORE of FAST RAM, and play stronger than the non L
  215. versions.
  216. Versions which do not end in L require 4M of FAST RAM, and are
  217. optimized for 68030 processors, and play slightly weaker than the
  218. L versions.
  219.  
  220. Source code for Gnuchess 4p58 which is what this pgm is based on
  221. is available from valkyries.andrew.cmu.edu via ftp.  
  222. This code rearranges some of the function arguments, data structures,
  223. and adds an additional level of transposition table caching to Gnuchess
  224. 4p58, but uses the same logic as gnuchess 4p58 otherwise.
  225.  
  226.  
  227. This program is freely distributable.
  228.  
  229.  
  230. UChess is a powerful version of the program GnuChess version 4 for
  231. the Amiga, code has been re-written and data structures re-organized
  232. for optimal efficiency on 32 bit 68020 and better Amiga systems.
  233. The program fully multitasks, automatically detects and supports
  234. 640X480X256 color AGA mode machines, and does not at any
  235. time BUSY wait.
  236.  
  237. In head to head competition with Checkmate, on the same
  238. machine, UChess has a record of 9 wins, 0 losses, 1 draw.
  239.  
  240. Program requires:
  241.  
  242. A 68020/030/040 based Amiga computer system
  243. AmigaDOS version 37 (2.04) or later
  244. 4 Megabytes or more of RAM, 3.5M of FREE FAST RAM.
  245. (L version requires 8.5M of FREE fast RAM)
  246.  
  247. Program auto-detects AGA capable machines, and will try and use
  248. a 640X480X256 color VGA_PRODUCTIVITY screen, if not it defaults
  249. to using a 16 color 640X400 HIRES LACE screen.
  250.  
  251. The 16 color screen is not very attractive, the pgm is designed
  252. to be run on a 31Khz monitor (multisync or VGA) on an AGA machine.
  253.  
  254. Use of the 640X480X256 color mode (best mode) requires AGA Based Amiga
  255. MultiSync Monitor/or Monitor capable of displaying VGA_PRODUCTIVITY mode
  256. The Correct monitor type in devs:Monitors on your WB disk
  257.  
  258. To Install UCHESS:
  259.  
  260. Copy the library lh.library to your libs: directory.
  261.  
  262. If you are using an AGA machine, you should make sure that
  263. the MULTISYNC monitor is in your devs:monitors directory,
  264. if you have a multisync or VGA monitor.
  265.  
  266. In your startup sequence, you should put an ASSIGN UCHESS: <yourdir>,
  267. but you do not have to.  The program will do the Assign for
  268. you as the default directory when you boot up.
  269.  
  270. Make a directory and copy all files (except lh.library, which goes
  271. in libs:) to this new directory, using the CLI copy command.
  272.  
  273. You can run this program from the CLI or WorkBench, if run from
  274. the workbench.  The only CLI argument you can use is "16", this
  275. will force the program to open a 16 color screen, regardless
  276. of hardware.
  277.  
  278.  
  279. Using the Program.
  280.  
  281. Startup Options:
  282.  
  283. You can run UChess from the CLI or workbench, from the
  284. CLI you can enter 2 optional arguments, one is the priority
  285. you want foreground thinking to run at (0-4) the other
  286. is if you want to force a 16 color display, you type in 16.
  287. So you can type UChess 16 0 to force a 16 color display
  288. and a priority of 0.  You can also enter 2 TOOLTYPES into
  289. the UChess icon, one is PRI=<pnum> and other is COLORS=16|256
  290. They are the same as the CLI equivalents.
  291.  
  292.  
  293. <<NOTE: The program writes a MoveList text file for each game
  294.         to the t: directory., you need to have t: assigned somewhere,
  295.         or the pgm will ask for it.  The default workbench Startup-
  296.         Sequence assigns t: for you >>
  297.  
  298. You can enter moves in algebraic or reduced algebraic notation using
  299. the keyboard, or you can use the Mouse to click and HOLD onto the
  300. piece you want, let go of the mouse button after you have moved 
  301. the piece over the square you want it to occupy.
  302.  
  303. The following is a brief of the menus and choices in the program,
  304.  
  305. File Menu -
  306.  About - shows a brief description of the program
  307.  New Game - Starts a new game from scratch
  308.  Load Game - Load a previously saved game
  309.  Save Game - Save the current game to disk
  310.  List Game - List the moves of current game to a file
  311.  Quit - return to AmigaDOS
  312.  
  313. View Menu -
  314.  2-D - Only View Available
  315.  
  316.  Edit Board - Edit current board.  To edit the board you enter
  317. the piece character, followed by the square you want it on.
  318. Valid piece chars are ' ' for none, 'p', 'n', 'b', 'q', 'k', 'r'.
  319. For example pa8 puts a pawn at a8, <space>a8 clears square a8.
  320. You can clear the entire board, and color of the piece is determined
  321. by the WHITE/BLACK Boolean Gadget.
  322.  
  323.  Reverse - Not Implemented
  324.  
  325. Control Menu -
  326.  Swap Sides - Change Sides with Computer (black <=> white)
  327.  AutoPlay - Computer Plays Itself
  328.  Move Now - Implemented when computers avg move is 1 min or more.
  329.  forces computer to make its move immediately.
  330.  Undo - Undo Last 1/2 move
  331.  
  332.  Thinking - Toggle computer thinking on your time, 
  333.   With this mode on, (checked), the computer will think about
  334.   its next move while it is your turn, like a person would.  
  335.   When this is on, you will find the computer may be sluggish 
  336.   to respond to your first mouse/keypress, but it will interrupt
  337.   itself and respond within a second.  Be aware of this fact,
  338.   when you type a key, or press the mouse button, you stop
  339.   the computers thinking on your time, and it will not
  340.   resume until next turn.  IT MAY TAKE A SECOND OR SO TO
  341.   PROCESS YOUR KEYPRESS/MENU SELECTION WHEN THIS OPTION IS ON.
  342.  
  343. ShwThnk - Shows computers thinking process, in Depth, Score and move.
  344. 100 pts = 1 pawn in this thinking process.
  345.  
  346. Supervisor mode - Allows 2 humans to play each other with computer
  347. as sort of a supervisor.
  348.  
  349. Special Menu -
  350.  Hint - Computer gives advise as to your next move.
  351.  Test - Test processor speed.  This speed of lookup depends
  352.         on currect board config, so for comparison
  353.         purposes between machines, test the speed with
  354.         the exact same board layout, for black and white!
  355.         An Amiga 4000 gets about 80,000 movelist nodes/sec
  356.         and 3700 eval nodes/sec on a new board.  Sometimes
  357.         a bit more.
  358.  Set Time - Brings up a window for you to set time constraints
  359.             for the computer.  It is in the form XX moves in XX minutes.
  360.             For Tournament conditions people often use 40 moves/120 mins
  361.             Default is 60 moves in 10 minutes (approx 10 secs/move)
  362.  
  363.  
  364. Notes on running vs other chess PGMS on the same machine:
  365.  
  366. 1) Make sure thinking on opponents time is DISABLED for each pgm.
  367. 2) make sure UChess is at a high priority, UChess DOES NOT BUSY WAIT
  368.    so it will always make 100% of the processor available to the
  369.    opposing pgm when it is not UChess's turn.  Other chess pgms
  370.    are not as well written, and will hog 100% of the CPU even
  371.    when it is NOT their turn and thinking is off.  For this
  372.    reason you should always have UChess running at a higher
  373.    priority than its opponent, Uchess WILL NEVER steal CPU
  374.    cycles from an opposing pgm if thinking in UChess is off.
  375. 3) Make sure both pgms have suffucient FAST RAM available to them!
  376.  
  377.  
  378. Please report any problems to me, Roger Uzun
  379. at 
  380. uzun@crash.cts.com
  381. or
  382. uzun@netcom.netcom.com
  383. or on bix as ruzun.
  384.